.toggle-input-wrapper {
    $toggle-width: 40px;
    $toggle-height: 20px;
    display: table;
    .toggle-switch,
    .toggle-input-label {
        display: table-cell;
        vertical-align: middle;
        padding-left: 10px;
    }
    .toggle {
        position: absolute;
        margin-left: -9999px;
        visibility: hidden;
    }
    .toggle + label {
        @extend %noselect;
        display: block;
        position: relative;
        cursor: pointer;
        outline: none;
    }

    input.toggle-round-flat + label {
        padding: 1px;
        width: $toggle-width;
        height: $toggle-height;
        background-color: $dark-gray;
        border-radius: $toggle-height;
        transition: background 0.4s;
    }
    input.toggle-round-flat + label:before,
    input.toggle-round-flat + label:after {
        display: block;
        position: absolute;
        content: '';
    }
    input.toggle-round-flat + label:before {
        top: 1px;
        left: 1px;
        bottom: 1px;
        right: 1px;
        background-color: $white;
        border-radius: $toggle-height;
        transition: background 0.4s;
    }
    input.toggle-round-flat + label:after {
        top: 4px;
        left: 4px;
        bottom: 4px;
        width: $toggle-height - 8;
        background-color: $dark-gray;
        border-radius: $toggle-height - 8;
        transition: margin 0.4s, background 0.4s;
    }
    input.toggle-round-flat:checked + label {
        background-color: $link-blue;
    }
    input.toggle-round-flat:checked + label:after {
        margin-left: $toggle-height;
        background-color: $link-blue;
    }
}
